package com.Questions.DP;


/**
 * 使用最小花费爬楼梯
 */
public class leetcode746 {
    // 设f(i) 是爬到第i阶楼梯的最少花费
    // f(0)=cost[0]
    // f(1)=cost[1]
    // f(i)=min(f(i-1),f(i-2))+cost[i]
    public int minCostClimbingStairs(int[] cost) {
        int n=cost.length;
        int[] f=new int[n];
        f[0]=cost[0];
        f[1]=cost[1];
        for(int i=2;i<n;++i){
            f[i]=Math.min(f[i-1],f[i-2])+cost[i];
        }
        return Math.min(f[n-1],f[n-2]);
    }
}
